package com.joven.product.service.infrastructure.repository;

import com.joven.product.service.business.domain.model.entity.BaseDomainObj;
import com.joven.product.service.business.domain.model.entity.id.DomainObjId;
import com.joven.product.service.infrastructure.persistence.db.entity.BaseDataObj;

import java.util.List;

/**
 * 基础Repository接口
 *
 * @author Joven
 * @date 2022-01-06 18:21:27
 */
public interface BaseRepository<T extends DomainObjId, DomainObj extends BaseDomainObj<T>, DataObj extends BaseDataObj> {
    /**
     * 保存
     *
     * @param data
     * @return
     */
    boolean save(DomainObj data);

    /**
     * 批量保存
     *
     * @param datas
     * @return
     */
    boolean saveBatch(List<DomainObj> datas);
}
